package IO;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 34255
 * Date: 2024-11-01
 * Time: 15:02
 */
//File类方法使用
public class FileUse {
    public static void main(String[] args) throws IOException {
        File file = new File("./test.txt");
        System.out.println(file.getName());
        System.out.println(file.createNewFile());
        File newFile = new File("./newTest.txt");
        System.out.println(file.renameTo(newFile));
        System.out.println(file.getName());
        File dir = new File("./111/222/333");
        System.out.println(dir.mkdirs());
    }
    public static void main4(String[] arg9s) {
        File file = new File("E:/");
        String[] files = file.list();
        System.out.println(Arrays.toString(files));

        File[] files2 = file.listFiles();
        System.out.println(Arrays.toString(files2));
    }
    public static void main3(String[] args) throws IOException, InterruptedException {
        //通过File实例,在对应路径中创建文件,删除文件
        File file = new File("./test.txt");
        System.out.println(file.createNewFile());
//        Thread.sleep(10000);
//        System.out.println(file.delete());
        //调用该方法不会直接将文件删除，会等到进程结束
        file.deleteOnExit();
        Thread.sleep(10000);
    }
    public static void main2(String[] args) throws IOException {
        //通过指定的构造方法创建出对应的File类实例

        //第一种File类构造方法，通过File类实例和字符串,String可以是绝对路径也可以是相对路径
        File Parent  = new File("./pac");
        File child = new File(Parent,"./test1.txt");

        //第二种File类构造方法，通过String字符串，String可以是绝对路径也可以是相对路径
        File file = new File("../text.txt");

        //第三种File类构造方法，通过两个String字符串，String可以是绝对路径也可以是相对路径
        File file1  = new File("./pac","./test3.txt");

        System.out.println(child.getCanonicalFile());
        System.out.println(file.getCanonicalFile());
        System.out.println(file1.getCanonicalFile());
    }
    public static void main1(String[] args) throws IOException {
        File file = new File(".\\text.txt");
        System.out.println(file.getParent());//获取当前file对象的父级目录绝对路径
        System.out.println(file.getName());//获取当前file对象对应的纯文件名称
        System.out.println(file.getPath());//返回file对象的⽂件路径
        System.out.println(file.getAbsoluteFile());//返回file对象的绝对路径
        System.out.println(file.getCanonicalFile());//返回file对象的修饰过的绝对路径(去除掉./..符号)
        System.out.println(file.exists());//判断文件是否存在
        System.out.println(file.isDirectory());//判断file对象代表的⽂件是否是一个⽬录
        System.out.println(file.isFile());///判断file对象代表的⽂件是否是一个普通⽂件
    }
}
